﻿/******************************************************   
创建者: 梁家健
创建时间: 2017-06-02
修改:
修改时间: 
功能: 调拨作业实体
 ******************************************************/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using com.nm.Attributes;

namespace CommodityTransferAPI.model
{
    public class NewOdsErpTmpCalcStockModel
    {
        /// <summary>
        /// 调拨作业实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-06-02
        public class CreatModel : NeceModel
        {
            [ParamDescription("在仓数量")]
            public long? Qty { get; set; }
            [ParamDescription("零售价")]
            public decimal? RetailPrice { get; set; }
            [ParamDescription("在仓金额")]
            public decimal? StockAmount { get; set; }
            [ParamDescription("在途金额")]
            public decimal? PathAmount { get; set; }
            [ParamDescription("是否店铺")]
            public long? IsShop { get; set; }
            [ParamDescription("店铺代码")]
            public string ShopCode { get; set; }
            [ParamDescription("店铺内码,补货只需Isshop=1")]
            public string ShopID { get; set; }
            [ParamDescription("期初库存对应日期")]
            public string InitStockDate { get; set; }
            [ParamDescription("累计销售")]
            public long? TotalSaleQty { get; set; }
            [ParamDescription("近一周销售")]
            public long? WeekSaleQty { get; set; }
            [ParamDescription("累计调入,配货+店店调入")]
            public long? TotalMoveQty { get; set; }
            [ParamDescription("近一周调入")]
            public long? WeekMoveQty { get; set; }
            [ParamDescription("累计日均售罄率")]
            public decimal? TotalDaySaleRate { get; set; }
            [ParamDescription("近一周日均售罄率")]
            public decimal? WeekDaySaleRate { get; set; }
            [ParamDescription("首次入仓日")]
            public string FirstArriveDate { get; set; }
            [ParamDescription("上市天数")]
            public long? SaleDays { get; set; }
            [ParamDescription("计算售罄率")]
            public decimal? CalcSaleRate { get; set; }
            [ParamDescription("商品层代码")]
            public string CommodityCode { get; set; }
            [ParamDescription("近一周期初库存")]
            public long? WeekInitQty { get; set; }
            [ParamDescription("类型,爆/畅/平/滞/超滞")]
            public string CZPFlag { get; set; }
            [ParamDescription("补货系数,爆/畅/平 补货系数")]
            public decimal? SuppleRate { get; set; }
            [ParamDescription("订单在途数量")]
            public long? OrderPathQty { get; set; }
            [ParamDescription("")]
            public string SKCCzpFlag { get; set; }
            [ParamDescription("")]
            public long? SizeCoreFlag { get; set; }
            [ParamDescription("")]
            public string CityCode { get; set; }
            [ParamDescription("")]
            public long? IsSpePrice { get; set; }
            [ParamDescription("")]
            public decimal? SpePrice { get; set; }
            [ParamDescription("")]
            public decimal? SpeStockAmount { get; set; }
            [ParamDescription("")]
            public long? IsNowPrice { get; set; }
            [ParamDescription("读取时间")]
            public DateTime? LoadTime { get; set; }
            [ParamDescription("修改时间")]
            public DateTime? elt_date { get; set; }
        }

        /// <summary>
        /// 调拨作业主要实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-06-02
        public class NeceModel: CoreModel
        {
            [ParamDescription("公司代码")]
            public string CompanyID { get; set; }
            [ParamDescription("仓库内码")]
            public string StockID { get; set; }
            [ParamDescription("货号")]
            public string MaterialID { get; set; }
            [ParamDescription("日结库存日期")]
            public string StockDate { get; set; }
            [ParamDescription("在途数量")]
            public long? PathQty { get; set; }
        }

        /// <summary>
        /// 调拨作业尺码实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-07-03
        public class CoreModel
        {
            [ParamDescription("尺码内码")]
            public string SizeID { get; set; }
            [ParamDescription("尺码")]
            public string SizeName { get; set; }
            [ParamDescription("可用库存")]
            public long? CanUseQty { get; set; }
            [ParamDescription("尺码类型")]
            public string SizeTypeFlag { get; set; }

        }

        /// <summary>
        /// 调拨作业显示实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-06-02
        public class ListModel: NeceModel
        {
            [ParamDescription("店铺ID")]
            public string ShopID { get; set; }
            [ParamDescription("店铺")]
            public string ShopName { get; set; }
            [ParamDescription("尺码")]
            public string SizeName { get; set; }
            [ParamDescription("货物")]
            public string MaterialName { get; set; }
            [ParamDescription("畅滞销状态")]
            public string SKCCzpFlag { get; set; }
            [ParamDescription("齐码/断码")]
            public long? ISbreakSize { get; set; }
            [ParamDescription("调出时间")]
            public string SuppleDate { get; set; }
            [ParamDescription("轻断码")]
            public long? ISbreakSize_light { get; set; }
            [ParamDescription("是否核心码")]
            public long? SizeCoreFlag { get; set; }
            [ParamDescription("是否导出/导入仓")]
            public long? InOrOutStock { get; set; }
            [ParamDescription("导出仓库ID")]
            public string OutStockID { get; set; }
            [ParamDescription("新可用库存")]
            public long? NewCanUseQty { get; set; }
            [ParamDescription("导出店铺ID")]
            public string OutShopID { get; set; }
            [ParamDescription("导出店铺")]
            public string OutShopName { get; set; }
            [ParamDescription("是否已导出")]
            public long? ExcelFlag { get; set; }
            [ParamDescription("调拨需求")]
            public long? MoveRequireQty { get; set; }
            [ParamDescription("周销量")]
            public long? WeekSaleQty { get; set; }
            [ParamDescription("调出标志")]
            public long? MoveOutFlag { get; set; }
            [ParamDescription("排序")]
            public long? CzpOrderNum { get; set; }
            [ParamDescription("流转周")]
            public decimal CirculWeek { get; set; }
            [ParamDescription("上市天数")]
            public long? Saledays { get; set; }
            [ParamDescription("库存+在途数量")]
            public long? SumQty { get; set; }
        }

        /// <summary>
        /// 调拨作业表头实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-06-02
        public class TitleModel
        {
            [ParamDescription("尺码内码")]
            public string SizeID { get; set; }
            [ParamDescription("尺码")]
            public string SizeName { get; set; }
        }

        /// <summary>
        /// 调拨作业分组实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-06-02
        public class GroupModel
        {
            public IList<IGrouping<string,ListModel>> list { get; set; }
        }

        public class SeriesItemModel
        {
            [ParamDescription("系列")]
            public string SeriesName { get; set; }
            [ParamDescription("小品类")]
            public string ItemName { get; set; }
        }

        /// <summary>
        /// 调拨作业显示实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-06-02
        public class ShowModel
        {
            public IList<TitleModel> title { get; set; }
            public IList<GroupModel> group { get; set; }
            public SeriesItemModel SeriesItem { get; set; }
        }
    }

    public class GoodsMvJobMessageModel
    {
        /// <summary>
        /// 调出店铺主要实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-06-02
        public class NeceModel: CoreModel
        {
            [ParamDescription("公司来源")]
            public string ExtrSource { get; set; }

            [ParamDescription("公司代码")]
            public string CompanyID { get; set; }
            [ParamDescription("导入仓库ID")]
            public string InStockID { get; set; }
            [ParamDescription("货号")]
            public string MaterialID { get; set; }
            [ParamDescription("操作员")]
            public string Operator { get; set; }
            [ParamDescription("操作日期")]
            public DateTime? OperateDate { get; set; }
            [ParamDescription("是否已导出")]
            public long? ExcelFlag { get; set; }
        }

        /// <summary>
        /// 调出店铺主要实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-06-12
        public class CoreModel
        {
            [ParamDescription("导出仓库ID")]
            public string OutStockID { get; set; }
        }

        /// <summary>
        /// 调出店铺修改实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-06-02
        public class ModModel
        {
            [ParamDescription("导入仓库ID")]
            public string InStockID { get; set; }
            public IList<CoreModel> OutStockIDList { get; set; }
        }

        /// <summary>
        /// 调出店铺修改实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-06-12
        public class ModifyModel
        {
            [ParamDescription("公司代码")]
            public string CompanyID { get; set; }
            [ParamDescription("货号")]
            public string MaterialID { get; set; }
            public IList<ModModel> list { get; set; }
        }

        /// <summary>
        /// 调出结果实体
        /// </summary>
        /// Writer：梁家健
        /// Create Date：2017-06-30
        public class ListModel
        {
            [ParamDescription("公司代码")]
            public string CompanyID { get; set; }
            [ParamDescription("店铺ID")]
            public string ShopID { get; set; }
            [ParamDescription("店铺名称")]
            public string ShopName { get; set; }
            [ParamDescription("店铺仓库")]
            public string StockID { get; set; }
            [ParamDescription("调出量")]
            public long? outSum { get; set; }
            [ParamDescription("调入量")]
            public long? inSum { get; set; }
            [ParamDescription("调出SKC数")]
            public long? outCountSKC { get; set; }
            [ParamDescription("调入SKC数")]
            public long? inCountSKC { get; set; }
        }
    }
}
